The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for managing inconsistencies in a storage system.
Object storage (also known as object-based storage) is a computer data storage architecture that manages data as objects, as opposed to other storage architectures like file systems which manage data as a file hierarchy and block storage which manages data as blocks within sectors and tracks. Each object typically includes the data itself, a variable amount of metadata, and a globally unique identifier. Object storage can be implemented at multiple levels, including the device level (object storage device), the system level, and the interface level. In each case, object storage seeks to enable characteristics not addressed by other storage architectures, like interfaces that can be directly programmable by the application, a namespace that can span multiple instances of physical hardware, and data management functions like data replication and data distribution at object-level granularity. Object storage systems allow retention of massive amounts of unstructured data.
In object storage, objects in a storage system are grouped into object storage groups, where each object storage group is a storage group that defines the physical storage used for objects. For objects, the storage group allows for the definition of an object storage hierarchy. The object storage hierarchy may consist of disk volumes, tape volumes, optical volumes, or the like. While objects within a single group may move up and down a hierarchy within a single storage group, the objects may not move outside of that group. Objects move within the storage hierarchy depending initially on management class and storage class criteria for the object collection, and subsequently on Automatic Class Selection (ACS) routines.